#include "clientthread.h"
#include "taskqueue.h"
#include <QDebug>

ClientThread::ClientThread(QObject *parent) : QThread(parent)
{
}

void ClientThread::run()
{
    // 得到单例对象
    TaskQueue *taskQ = TaskQueue::getInstance();
    // 处理动作, 不停的读任务队列, 取出任务并且处理
    while(1)
    {
        // 取出一个任务
        // 有任务取出任务, 没有任务就阻塞
        Task t = taskQ->takeTask();
        // 执行这个任务, 调用任务函数(函数指针)
        t.function(t.arg);
        qDebug() << "当前任务处理完毕, 准备处理下一个...";
    }
}
